In recent years, there has been an insatiable desire for faster computer processing data throughputs because cutting edge computer applications are becoming more and more complex, and are placing ever increasing demands on processing systems. Graphics applications are among those that place the highest demands on a processing system because they require large numbers of data accesses, data computations, and data manipulations within relatively short time periods to achieve desirable visual results. Real-time, multimedia applications also place a high demand on processing systems; indeed, they require extremely fast processing speeds, such as many thousands of megabits of data per second.
While some processing systems employ a single processor to achieve fast processing speeds, others are implemented utilizing multi-processor architectures. In multi-processor systems, a plurality of sub-processors can operate in parallel (or at least in concert) to achieve desired processing results. It has also been contemplated to employ a modular structure in a multi-processing system, where the computing modules are accessible over a broadband network (such as the Internet) and the computing modules may be shared among many users.
A problem arises, however, when a processing system is used over a network or is part of a shared resource. In particular, the processor and its associated software are subject to outside influences such as intentional hacking and the like. Moreover, a processor may access a data storage region which contains malicious executable code or obsolete and/or inaccurate data.
Security measures may be implemented to address these concerns. Specifically, a given processor may be operated in various modes in which access to data within the processor by outside devices is limited and/or in which access to data outside the given processor by the processor is restricted. Such measures may provide increased security and may enable a processor to access data within a data storage region internal to the processor with confidence that the data and/or code therein is reliable.
While the above measures address some security concerns, it may be desirable to extend the security of a processor to trusted storage locations in a system. Co-pending U.S. patent application Ser. No. 11/746,338, filed, May 9, 2007, entitled “METHODS AND APPARATUS FOR ACCESSING RESOURCES USING A MULTIPROCESSOR IN A TRUSTED MODE”, (the entire disclosure of which is incorporated herein by reference) addresses this concern by providing a trusted storage facility in a multi-processing system. It has been discovered, however, that by expanding the capabilities of the trusted storage facility, e.g., by permitting that the trusted storage facility be programmable, yields further beneficial results, such as improved intra- and inter-processor collaboration in manipulating sensitive data.
Accordingly, there are needs in the art for new methods and apparatus for providing trusted data storage space in a multi-processing environment.